// import 'package:flutter/material.dart';
// import 'package:flutter/services.dart';
// import 'package:jpush_flutter/jpush_flutter.dart';
//
// class HYPushContent extends StatefulWidget {
//   const HYPushContent({Key? key}) : super(key: key);
//
//   @override
//   State<HYPushContent> createState() => _HYPushContentState();
// }
//
// class _HYPushContentState extends State<HYPushContent> {
//   String? debugLable = 'Unknown';
//   final JPush jpush = JPush();
//
//   @override
//   void initState() {
//     // initPlatformState();
//     super.initState();
//   }
//
//   // Platform messages are asynchronous, so we initialize in an async method.
//   Future<void> initPlatformState() async {
//     String? platformVersion;
//
//     try {
//       jpush.addEventHandler(
//         onReceiveNotification: (Map<String, dynamic> message) async {
//           print("flutter onReceiveNotification: $message");
//           setState(() {
//             debugLable = "flutter onReceiveNotification: $message";
//           });
//         },
//         onOpenNotification: (Map<String, dynamic> message) async {
//           print("flutter onOpenNotification: $message");
//           setState(() {
//             debugLable = "flutter onOpenNotification: $message";
//           });
//         },
//         onReceiveMessage: (Map<String, dynamic> message) async {
//           print("flutter onReceiveMessage: $message");
//           setState(() {
//             debugLable = "flutter onReceiveMessage: $message";
//           });
//         },
//         onReceiveNotificationAuthorization:
//             (Map<String, dynamic> message) async {
//           print("flutter onReceiveNotificationAuthorization: $message");
//           setState(() {
//             debugLable = "flutter onReceiveNotificationAuthorization: $message";
//           });
//         },
//         onNotifyMessageUnShow: (Map<String, dynamic> message) async {
//           print("flutter onNotifyMessageUnShow: $message");
//           setState(() {
//             debugLable = "flutter onNotifyMessageUnShow: $message";
//           });
//         },
//       );
//     } on PlatformException {
//       platformVersion = 'Failed to get platform version.';
//     }
//
//     jpush.setAuth(enable: true);
//     jpush.setup(
//       appKey: "70eddda66db85cc65c0ba7f2", //你自己应用的 AppKey
//       channel: "theChannel",
//       production: false,
//       debug: true,
//     );
//     jpush.applyPushAuthority(
//         const NotificationSettingsIOS(sound: true, alert: true, badge: true));
//
//     // Platform messages may fail, so we use a try/catch PlatformException.
//     jpush.getRegistrationID().then((rid) {
//       print("flutter get registration id : $rid");
//       setState(() {
//         debugLable = "flutter getRegistrationID: $rid";
//       });
//     });
//
//     // If the widget was removed from the tree while the asynchronous platform
//     // message was in flight, we want to discard the reply rather than calling
//     // setState to update our non-existent appearance.
//     if (!mounted) return;
//
//     setState(() {
//       debugLable = platformVersion;
//     });
//   }
//
// // 编写视图
//   @override
//   Widget build(BuildContext context) {
//     return Scaffold(
//       appBar: AppBar(
//         title: const Text('Plugin example app'),
//       ),
//       body: Center(
//         child: Column(
//           children: [
//             Container(
//               margin: EdgeInsets.fromLTRB(10, 10, 10, 10),
//               color: Colors.brown,
//               child: Text(debugLable ?? "Unknown"),
//               width: 350,
//               height: 100,
//             ),
//             Row(mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[
//               Text(" "),
//               CustomButton(
//                   title: "发本地推送",
//                   onPressed: () {
//                     // 三秒后出发本地推送
//                     var fireDate = DateTime.fromMillisecondsSinceEpoch(
//                         DateTime.now().millisecondsSinceEpoch + 3000);
//                     var localNotification = LocalNotification(
//                       id: 234,
//                       title: '这是一条本地通知',
//                       buildId: 1,
//                       content: '本地通知的内容是这些那些',
//                       fireTime: fireDate,
//                       subtitle: '本地通知的副标题',
//                       badge: 5,
//                       extra: {"fa": "0"},
//                     );
//                     jpush.sendLocalNotification(localNotification).then((res) {
//                       setState(() {
//                         debugLable = res;
//                       });
//                     });
//                   }),
//               new Text(" "),
//               CustomButton(
//                   title: "getLaunchAppNotification",
//                   onPressed: () {
//                     jpush.getLaunchAppNotification().then((map) {
//                       print("flutter getLaunchAppNotification:$map");
//                       setState(() {
//                         debugLable = "getLaunchAppNotification success: $map";
//                       });
//                     }).catchError((error) {
//                       setState(() {
//                         debugLable = "getLaunchAppNotification error: $error";
//                       });
//                     });
//                   }),
//             ]),
//             Row(mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[
//               new Text(" "),
//               new CustomButton(
//                   title: "setTags",
//                   onPressed: () {
//                     jpush.setTags(["lala", "haha"]).then((map) {
//                       var tags = map['tags'];
//                       setState(() {
//                         debugLable = "set tags success: $map $tags";
//                       });
//                     }).catchError((error) {
//                       setState(() {
//                         debugLable = "set tags error: $error";
//                       });
//                     });
//                   }),
//               new Text(" "),
//               new CustomButton(
//                   title: "addTags",
//                   onPressed: () {
//                     jpush.addTags(["lala", "haha"]).then((map) {
//                       var tags = map['tags'];
//                       setState(() {
//                         debugLable = "addTags success: $map $tags";
//                       });
//                     }).catchError((error) {
//                       setState(() {
//                         debugLable = "addTags error: $error";
//                       });
//                     });
//                   }),
//               new Text(" "),
//               new CustomButton(
//                   title: "deleteTags",
//                   onPressed: () {
//                     jpush.deleteTags(["lala", "haha"]).then((map) {
//                       var tags = map['tags'];
//                       setState(() {
//                         debugLable = "deleteTags success: $map $tags";
//                       });
//                     }).catchError((error) {
//                       setState(() {
//                         debugLable = "deleteTags error: $error";
//                       });
//                     });
//                   }),
//             ]),
//             new Row(
//                 mainAxisAlignment: MainAxisAlignment.center,
//                 children: <Widget>[
//                   new Text(" "),
//                   new CustomButton(
//                       title: "getAllTags",
//                       onPressed: () {
//                         jpush.getAllTags().then((map) {
//                           setState(() {
//                             debugLable = "getAllTags success: $map";
//                           });
//                         }).catchError((error) {
//                           setState(() {
//                             debugLable = "getAllTags error: $error";
//                           });
//                         });
//                       }),
//                   new Text(" "),
//                   new CustomButton(
//                       title: "cleanTags",
//                       onPressed: () {
//                         jpush.cleanTags().then((map) {
//                           var tags = map['tags'];
//                           setState(() {
//                             debugLable = "cleanTags success: $map $tags";
//                           });
//                         }).catchError((error) {
//                           setState(() {
//                             debugLable = "cleanTags error: $error";
//                           });
//                         });
//                       }),
//                 ]),
//             new Row(
//                 mainAxisAlignment: MainAxisAlignment.center,
//                 children: <Widget>[
//                   new Text(" "),
//                   new CustomButton(
//                       title: "setAlias",
//                       onPressed: () {
//                         jpush.setAlias("thealias11").then((map) {
//                           setState(() {
//                             debugLable = "setAlias success: $map";
//                           });
//                         }).catchError((error) {
//                           setState(() {
//                             debugLable = "setAlias error: $error";
//                           });
//                         });
//                       }),
//                   new Text(" "),
//                   new CustomButton(
//                       title: "deleteAlias",
//                       onPressed: () {
//                         jpush.deleteAlias().then((map) {
//                           setState(() {
//                             debugLable = "deleteAlias success: $map";
//                           });
//                         }).catchError((error) {
//                           setState(() {
//                             debugLable = "deleteAlias error: $error";
//                           });
//                         });
//                       }),
//                   new Text(" "),
//                   new CustomButton(
//                       title: "getAlias",
//                       onPressed: () {
//                         jpush.getAlias().then((map) {
//                           setState(() {
//                             debugLable = "getAlias success: $map";
//                           });
//                         }).catchError((error) {
//                           setState(() {
//                             debugLable = "getAlias error: $error";
//                           });
//                         });
//                       }),
//                 ]),
//             new Row(
//               mainAxisAlignment: MainAxisAlignment.center,
//               children: <Widget>[
//                 new Text(" "),
//                 new CustomButton(
//                     title: "stopPush",
//                     onPressed: () {
//                       jpush.stopPush();
//                     }),
//                 new Text(" "),
//                 new CustomButton(
//                     title: "resumePush",
//                     onPressed: () {
//                       jpush.resumePush();
//                     }),
//               ],
//             ),
//             new Row(
//               mainAxisAlignment: MainAxisAlignment.center,
//               children: <Widget>[
//                 new Text(" "),
//                 new CustomButton(
//                     title: "clearAllNotifications",
//                     onPressed: () {
//                       jpush.clearAllNotifications();
//                     }),
//                 new Text(" "),
//                 new CustomButton(
//                     title: "setBadge",
//                     onPressed: () {
//                       jpush.setBadge(66).then((map) {
//                         setState(() {
//                           debugLable = "setBadge success: $map";
//                         });
//                       }).catchError((error) {
//                         setState(() {
//                           debugLable = "setBadge error: $error";
//                         });
//                       });
//                     }),
//               ],
//             ),
//             new Row(
//               mainAxisAlignment: MainAxisAlignment.center,
//               children: <Widget>[
//                 new Text(" "),
//                 new CustomButton(
//                     title: "通知授权是否打开",
//                     onPressed: () {
//                       jpush.isNotificationEnabled().then((bool value) {
//                         setState(() {
//                           debugLable = "通知授权是否打开: $value";
//                         });
//                       }).catchError((onError) {
//                         setState(() {
//                           debugLable = "通知授权是否打开: ${onError.toString()}";
//                         });
//                       });
//                     }),
//                 new Text(" "),
//                 new CustomButton(
//                     title: "打开系统设置",
//                     onPressed: () {
//                       jpush.openSettingsForNotification();
//                     }),
//               ],
//             ),
//           ],
//         ),
//       ),
//     );
//   }
// }
//
// /// 封装控件
// class CustomButton extends StatelessWidget {
//   final VoidCallback? onPressed;
//   final String? title;
//
//   const CustomButton({@required this.onPressed, @required this.title});
//
//   @override
//   Widget build(BuildContext context) {
//     return new TextButton(
//       onPressed: onPressed,
//       child: new Text("$title"),
//       style: new ButtonStyle(
//         foregroundColor: MaterialStateProperty.all(Colors.white),
//         overlayColor: MaterialStateProperty.all(Color(0xff888888)),
//         backgroundColor: MaterialStateProperty.all(Color(0xff585858)),
//         padding: MaterialStateProperty.all(EdgeInsets.fromLTRB(10, 5, 10, 5)),
//       ),
//     );
//   }
// }
